Communication of color information between different devices and industries has become recognized as an important issue. Each industry generally has its own color management history, with its own terminology standards and methods for communicating color information. As more users are connecting different peripheral devices made by different companies and, in addition, communicate with one another over the Internet, it is becoming more urgent to have a standardized color data management scheme that provides consistent color data management. Many different practices and standards are currently being used.
Different phosphor sets are being used to provide the colors of “red”, “green”, and “blue”. For example, where a monitor may illustrate a pink color, and the user selects the pink color, the printer printing the selection may print out an ugly purple/lavender. This, different values on chromaticity diagrams represent a same color, providing confusion. Tone reproduction of various systems also differs. Also, viewing conditions may vary, causing colors to appear different to different observers. Thus, due to differing visual conditions, the color of the illuminant (the white point), the absolute level of the scene irradiance (generally the illuminance), the surrounding colors, etc., all affect the color perception unless the initial and final conditions are identical. Unless a white point and illuminance level are the same, the color interchange data may not be identical.
Previous color data conversion methods have required the use of cube root computation or raising values to the third power. To store data, every pixel had to be converted using a set of power function routines. This process is time-consuming, consumes processing power, and may introduce errors. Other techniques, such as is described in U.S. Pat. No. 5,224,178, by Madden et al., provide for compressing digital code values to provide a set of reduced range digital codes of a same resolution, but having a smaller range of basic image content values than the dynamic range of the digitized image data base.
As shown in FIG. 1 the chromaticity diagram has been developed by the Commission Internationale de l'Eclairage (CIE), or International Commission on Illumination, to provide a common chromaticity value for colors. The displayable colors by a laser device are shown as a triangle ABC, with points A 102, B 104, and C 106. Ideally, color values for a device should cover a triangle having an area that extends over the entire visible range. However, as shown in FIG. 2, the triangle covered for color values of a Canon CLC500 color copier/printer 202 is shown along with the old RGB color values (Genl. RGB) 204, the first PC color monitors and the sRGB values 206. While some of the cyan colors are limited by sRGB, the brightest greens and reds are output device limited, but not sRGB limited. Clearly, calculations must be used to convert values of the color copier/printer 202 colors to the ordinary CRT colors (sRGB values) 206.
Although lasers have virtually monochromatic output and the primaries of the laser would reside on the spectrum locus of the CIE (International Commission on Illumination) diagram of FIG. 1, showing 2 degree observer data, typically devices do not have the gamut to display the laser colorspace. Thus, data in a laser display colorspace would have to be converted for display and printing.
Cathode display tubes (CRTs), color flat panels (both active and passive matrix types) and high definition televisions (HDTVs) provide chromaticity diagrams that are similar to the CRT model shown in FIG. 2. However, the sRGB chromaticity diagram lacks a range of gamut that includes all colors, and conversion of sRGB color data values is non-linear, thus often resulting in undesired results.
Advanced graphic systems require the features of anti-aliases (removing ragged edges) and blending (translucency) effects. Those effects are handled by an extra component, called the alpha channel, in addition to the RGB components. In order to perform the anti-alias and blending operations correctly with the alpha channel, the linear color components need to be defined in terms of their intensities. Current systems are however limited to the intensity values between 0 and 1, which do not provide optimal results in some circumstances.